<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      /*
        1. 新闻接口
          get http://ajax-api.itheima.net/api/news
          无参数
        参数是一个对象
          url 地址+get的参数(如果有的话)
          method 
          目前只考虑get
      */
      function myAxios(option) {
        console.log('option:', option)
        // 获取传入的参数
        // method = 'get' 没有method属性 默认设置为 get
        const { url, method = 'get' } = option
        console.log('method:', method)
        return new Promise((resolve, reject) => {
          const xhr = new XMLHttpRequest()
          // 调用 新闻接口
          xhr.open(method, url)
          xhr.addEventListener('load', function () {
            // console.log('load:', xhr.response)
            // 通过 resolve 将成功的结果传递给then
            resolve(JSON.parse(xhr.response))
          })
          xhr.send()
        })
      }

      myAxios({
        // url: 'http://ajax-api.itheima.net/api/news',
        url: 'http://ajax-api.itheima.net/api/robot?spoken=你是不是人工智能?',
        method: 'get',
      }).then((res) => {
        // console.log('then-res:', res)
        // const data = JSON.parse(res)
        console.log('data:', res)
      })

      /*
        注意:
        1. method 和 url不需要加引号 
          不需要,加了就变成字符串了
        2. 如何实现 method默认为get
          解构的时候设置默认值即可
      */
    </script>
  </body>
</html>
